package com.impl;

import com.Person;

/**
 * 学生代理类，也实现了Person接口，保存一个学生实体，这样既可以代理学生产生行为
 * @author Gonjan
 *
 */
public class StudentsProxy implements Person {

    private Student stu;//被代理的学生

    public StudentsProxy(Person stu) {
        //只代理学生类
        if (stu.getClass() == Student.class) {
            this.stu = (Student) stu;
        }
    }

    @Override
    public void giveMoney() {//代理上交班费，调用被代理学生上交班费行为
        System.out.println("张三最近学习有进步！");
        stu.giveMoney();
    }
}
